#include "arguments.h"
#include <stdio.h>
#include <stdlib.h>


/*********************************** Définition ***********************************/

void initTabArg(TAB_arg *t) {

    t->taille_c = 0;
    t->taille_d = 0;
    t->algo = NULL;
}

void testamentTabArg(TAB_arg *t) {

    if(t->taille_c > 0 ) // si le tableau a été alloué.
        free(t->fichier_c);

    if(t->taille_d > 0 ) // si le tableau a été alloué.
        free(t->fichier_d);
}

void ajoutArgC(TAB_arg *t, ARG a) {

    t->taille_c++;

    if(t->taille_c > 1 )
        t->fichier_c = realloc(t->fichier_c, t->taille_c * sizeof(ARG));
    else
        t->fichier_c = malloc(sizeof(ARG));

    t->fichier_c[t->taille_c - 1] = a;
}

void ajoutArgD(TAB_arg *t, ARG a) {

    t->taille_d++;

    if(t->taille_d > 1 )
        t->fichier_d = realloc(t->fichier_d, t->taille_d * sizeof(ARG));
    else
        t->fichier_d = malloc(sizeof(ARG));

    t->fichier_d[t->taille_d - 1] = a;
}

void ajoutArgA(TAB_arg *t, ARG a) {

    if(t->algo == NULL) t->algo = a;
}
